package com.anlogic.sdk.ui.tests.uc11.bootgen;

import org.eclipse.swtbot.eclipse.finder.SWTWorkbenchBot;
import org.eclipse.swtbot.eclipse.finder.waits.Conditions;
import org.eclipse.swtbot.swt.finder.utils.SWTBotPreferences;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import com.anlogic.sdk.ui.tests.utils.BootImageUtils;
import com.anlogic.sdk.ui.tests.utils.WorkspaceUtils;

public class Dr1v90_BootImageTest {
	private static SWTWorkbenchBot bot;

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {

		bot = new SWTWorkbenchBot();
		SWTBotPreferences.TIMEOUT = 10000;
		SWTBotPreferences.KEYBOARD_LAYOUT = "EN_US";
		bot.waitUntil(Conditions.shellIsActive("data - FutureDynasty"), 60 * 1000);
	}

	@Before
	public void setUp() throws Exception {
		WorkspaceUtils.resetworkbench(bot);
	}

	@After
	public void tearDown() throws Exception {
		
		bot.viewByTitle("Console (Bootgen)").show();
		bot.toolbarButtonWithTooltip("Clear Console").click();
		WorkspaceUtils.cleanWorkspace();
	}

	@Test
	public void ProgramFpga_bot_DR1V90_BIN_0xAB_true_true_sm2_true_true_true_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","BIN", "0xAB", true, true, "sm2", true, true, true);
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_BIN_false_false_none_false_false_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","BIN", "", false, false, "none", false, false, false);
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_BIN_0xAB_false_false_none_false_false_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","BIN", "0xAB", false, false, "none", false, false, false);
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_BIN_0xAB_true_true_ecdsa256_true_true_true_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","BIN", "0xAB", true, true, "ecdsa256", true, true, true);
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_BIN_0xAB_true_true_ecdsa256_true_true_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","BIN", "0xAB", true, true, "ecdsa256", true, true, false);
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_BIN_0xAB_true_true_none_false_false_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","BIN", "0xAB", true, true, "none", false, false, false);
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_BIN_0xAB_true_false_none_false_false_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","BIN", "0xAB", true, false, "none", false, false, false);
	}
	
	
	@Test
	public void ProgramFpga_bot_DR1V90_MCS_0xAB_true_true_sm2_true_true_true_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","MCS", "0xAB", true, true, "sm2", true, true, true);;
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_MCS_false_false_none_false_false_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","MCS", "", false, false, "none", false, false, false);;
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_MCS_0xAB_false_false_none_false_false_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","MCS", "0xAB", false, false, "none", false, false, false);;
	}
	
	
	@Test
	public void ProgramFpga_bot_DR1V90_MCS_0xAB_true_true_ecdsa256_true_true_true_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","MCS", "0xAB", true, true, "ecdsa256", true, true, true);;
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_MCS_0xAB_true_true_ecdsa256_true_true_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","MCS", "0xAB", true, true, "ecdsa256", true, true, false);;
	}
	
	
	@Test
	public void ProgramFpga_bot_DR1V90_MCS_0xAB_true_true_none_false_false_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","MCS", "0xAB", true, true, "none", false, false, false);;
	}
	
	@Test
	public void ProgramFpga_bot_DR1V90_MCS_0xAB_true_false_none_false_false_false_Test() throws InterruptedException {
		BootImageUtils.CreatebootImage(bot, "DR1V90","MCS", "0xAB", true, false, "none", false, false, false);;
	}
	

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
	}
	
	
	

}
